/*  
 *  @author Philip Stutz
 * 
 *  Copyright 2011 University of Zurich
 *      
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *  
 *         http://www.apache.org/licenses/LICENSE-2.0
 *  
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package ch.uzh.ifi.ddis.ds2011.a3.helper;

import com.signalcollect.Graph;
import com.signalcollect.Vertex;
import com.signalcollect.javaapi.FunUtil;
import com.signalcollect.javaapi.VertexCommand;

/**
 * The class ResultProcessingHelper offers simplified functions for printing vertices.
 */
public class ResultProcessingHelper {

	/**
	 * Prints the vertex with id `vertexId`.
	 *
	 * @param g the graph on which the printing command gets executed
	 * @param vertexId the vertex with this id will get printed
	 */
	public static void printVertexWithId(Graph g, Object vertexId) {
		g.forVertexWithId(vertexId, FunUtil.convert(new VertexCommand() {
			public void f(Vertex v) {
				System.out.println(v);
			}
		}));
	}
	
	/**
	 * Prints all vertices in graph `g`.
	 *
	 * @param g the graph on which the printing command gets executed 
	 */
	public static void printAllVertices(Graph g) {
		g.foreachVertex(FunUtil.convert(new VertexCommand() {
			public void f(Vertex v) {
				System.out.println(v);
			}
		}));
	}
	
}
